//
//  XPVideoHomeViewController.swift
//  iOS15Project
//
//  Created by xiaopin on 2024/2/28.
//

import UIKit

class XPVideoHomeViewController: XPBaseTableViewController {

    //MARK: 公开属性
    
    //MARK: 私有属性
    var dataArray:[String] = []
    //MARK: 懒加载
    
    //MARK: 默认基类方法
    override var preferredStatusBarStyle: UIStatusBarStyle{
        return .default
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        initData()
        initNotification()
        initNavigationBar()
        initSubViews()
        loadData()
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
    }
}

//MARK: #重写基类方法#
extension XPVideoHomeViewController{
    /// 初始化数据
    override func initData() {
        super.initData()
        dataArray.removeAll()
        for i in 0..<100 {
            dataArray.append("视频--\(i)")
        }
    }
    
    /// 初始化通知
    override func initNotification(){
        
    }
    
    /// 初始化导航栏
    override func initNavigationBar() {
        self.title = "视频"
        super.initNavigationBar()
    }
    
    /// 初始化页面子控件视图
    override func initSubViews() {
        super.initSubViews()
        view.backgroundColor = .gray
        
        tableView.snp.remakeConstraints{$0.edges.equalToSuperview()}
        tableView.delegate = self
        tableView.dataSource = self
    }
    
    /// 首次加载数据
    override func loadData() {
        
    }
}

//MARK: #自定义方法#
extension XPVideoHomeViewController{
    
}

//MARK: #事件通知#
extension XPVideoHomeViewController{
    

}

//MARK: #委托代理#
extension XPVideoHomeViewController:UITableViewDelegate,UITableViewDataSource{
    //MARK: 标准UITableView代理
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataArray.count
    }
    
    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
        return 80
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        var cell = tableView.dequeueReusableCell(withIdentifier: "MyCell")
        if cell == nil {
            cell = UITableViewCell.init(style: .default, reuseIdentifier: "MyCell")
        }
        cell?.textLabel?.text = dataArray[indexPath.row]
        return cell!
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true)
        
        let vc = XPVideoDetailViewController()
        push(vc)
    }
}
